import dayjs from '../../../utils/dayjs.min'

Component({

  /**
   * 组件的属性列表
   */
  properties: {
    startDate: {
      type: String,
      value: '',
      observer: function (newVal, oldVal) {
        this.setData({
          startDate: newVal
        })
      }
    },
    endDate: {
      type: String,
      value: '',
      observer: function (newVal, oldVal) {
        this.setData({
          endDate: newVal
        })
      }
    },
  },

  /**
   * 组件的初始数据
   */
  data: {
    calendarConfig: {
      theme: 'elegant',
      showLunar: true,
      chooseAreaMode: true,
      markToday: '今',
    },
    show: false,
    type: 1,
    startDate: '',
    endDate: '',
    currentDate: new Date().getTime(),
    maxDate: new Date().getTime(),
    formatter(type, value) {
      if (type === 'year') {
        return `${value}年`;
      }
      if (type === 'month') {
        return `${value}月`;
      }
      return value;
    },
    selectedDate: ''
  },
  created() {},
  /**
   * 组件的方法列表
   */
  methods: {
    // 打开选择器
    open1() {
      this.setData({
        show: true,
        type: 1
      })
    },
    open2() {
      this.setData({
        show: true,
        type: 2
      })
    },
    // 选择器确认事件
    confirm(event) {
      const calendar = this.selectComponent('#calendar')
      const time = calendar.data.calendar.chooseAreaTimestamp
      // console.log(dayjs(time[0]).format('YYYY-MM-DD'))
      // console.log(dayjs(time[1]).format('YYYY-MM-DD'))
      // if (this.data.type == 1) {
      //   this.setData({
      //     startDate: this.data.selectedDate
      //   })
      // } else {
      //   this.setData({
      //     endDate: this.data.selectedDate
      //   })
      // }
      this.setData({
        startDate: dayjs(time[0]).format('YYYY-MM-DD'),
        endDate: dayjs(time[1]).format('YYYY-MM-DD')
      })
      this.triggerEvent('change', {
        startDate: dayjs(time[0]).format('YYYY-MM-DD'),
        endDate: dayjs(time[1]).format('YYYY-MM-DD')
      })
      this.colse()
    },
    /**
     * 选择日期后执行的事件
     * currentSelect 当前点击的日期
     * allSelectedDays 选择的所有日期（当multi为true时，allSelectedDays有值）
     */
    afterTapDay(e) {
      // console.log('afterTapDay', e); // => { currentSelect: {}, allSelectedDays: [] }
      this.setData({
        selectedDate: e.detail.year + "-" + e.detail.month + "-" + e.detail.date
      })
    },
    // 关闭选择器
    colse() {
      this.setData({
        show: false
      })
    },
    clear() {
      this.setData({
        startDate: '',
        endDate: ''
      })
    }
  }
})